MR–OPV Vaccination Module
1. Introduction
1.1 Overview
The MR–OPV Vaccination Module is a dedicated component within SEIR ZM designed to capture, validate, and transmit session-level Measles–Rubella (MR) and Oral Polio Vaccine (OPV) vaccination data from the field to the central system.
This document serves as a reference guide for all stakeholders, including development teams, implementing partners, program managers, and third-party vendors. It explains the module’s purpose, functionality, workflows, data structures, and integration points in a clear and implementation-agnostic manner.
The module is built to ensure:
- Standardized data collection across all administrative levels
- Support for both Fixed and Outreach vaccination sessions
- Accurate reporting through validation and system checks
- Seamless backend integration via RESTful APIs
2. Purpose of the MR–OPV Module
The MR–OPV module is designed to:
- Digitally capture session-level MR and OPV vaccination data
- Support Fixed and Outreach vaccination sessions
- Enable near real-time reporting from the field
- Maintain standardized administrative hierarchy (District → Town → UC)
- Provide clean, analyzable data to IRD and EPI Sindh
3. Scope
In Scope
- Session-based MR–OPV vaccination reporting
- Administrative hierarchy selection
- Coverage data capture
- GPS and timestamp capture
- API-based data submission
4. Stakeholders & Users
| Stakeholder | Role |
|---|---|
| Vaccinator | Data entry and submission |
| Field Supervisor | Data verification |
| District / Town Teams | Monitoring & oversight |
| IRD Technical Team | Backend, analytics & validation |
| EPI Sindh Management | Program oversight |
5. Functional Overview
The MR–OPV module consists of a single-session data entry form that captures vaccination coverage at a site level and submits it to the SEIR ZM backend.
6. MR–OPV Data Entry Form – Detailed Field Specification
6.1 Administrative Hierarchy
| Field | Type | Description | Mandatory |
|---|---|---|---|
| District | Dropdown | Select district | Yes |
| Town / Taluka | Dropdown | Filtered by district | Yes |
| Union Council | Dropdown | Filtered by town | Yes |
6.2 Session Details
| Field | Type | Description | Mandatory |
|---|---|---|---|
| Session Type | Dropdown | Fixed / Outreach | Yes |
| Site Name | Text | Vaccination site name | Yes |
| Onsite | Checkbox | Onsite vaccination indicator | Yes |
6.3 Vaccination Coverage
| Field | Type | Description | Mandatory |
|---|---|---|---|
| MR Coverage | Numeric | Total MR doses administered | Yes |
| OPV Coverage | Numeric | Total OPV doses administered | Yes |
6.4 System-Captured Fields
| Field | Source | Description |
|---|---|---|
| Latitude | GPS | Auto-captured |
| Longitude | GPS | Auto-captured |
| Timestamp | System | Epoch (milliseconds) |
7. Use Case Diagrams & Descriptions
7.1 Use Case Actors
- Vaccinator
- SEIR ZM System
- Backend API
7.2 Primary Use Cases
Use Case 1: Submit MR–OPV Vaccination Session
Actor: Vaccinator
Description: Vaccinator records MR and OPV coverage for a completed session.
Preconditions:
- User is authenticated
- Administrative master data available
- GPS enabled
Main Flow:
- Vaccinator opens MR–OPV form
- Selects district, town, and UC
- Selects session type (Fixed / Outreach)
- Enters site name
- Enters MR and OPV coverage
- System captures GPS and timestamp
- Vaccinator submits the form
- System validates and sends data to backend API
Postconditions:
- Data stored successfully in SEIR ZM
Use Case 2: Validation Failure
Actor: System
Scenario: Missing or invalid input data
Flow:
- User submits incomplete/invalid form
- System highlights validation errors
- Submission blocked until corrected
8. Process Flow Diagrams
8.1 MR–OPV Data Submission Flow
9. API Integration
9.1 Endpoint Details
- Method: POST
- Endpoint:
/mrest/mr-opv/vaccination - Environment: Staging
9.2 Request Body
{
"ucId": 101,
"districtId": 5,
"townId": 12,
"siteName": "Community Health Center",
"latitude": 24.8607,
"longitude": 67.0011,
"eventType": "Outreach",
"timestamp": 1762168905000,
"coverageMR": 45,
"coverageOPV": 20054,
"onsite": false
}
9.3 API Field Mapping
| Field | Description |
|---|---|
| ucId | Union Council identifier |
| districtId | District identifier |
| townId | Town / Taluka identifier |
| siteName | Vaccination site name |
| latitude | GPS latitude |
| longitude | GPS longitude |
| eventType | Fixed / Outreach |
| timestamp | Epoch milliseconds |
| coverageMR | MR coverage count |
| coverageOPV | OPV coverage count |
| onsite | Onsite indicator |
10. Validation Rules
- Mandatory fields must not be empty
- Coverage values must be numeric and non-negative
- GPS must be available before submission
- Session type must be selected
- Administrative hierarchy must follow sequence
11. Roles & Permissions
The MR–OPV module follows a role-based access control (RBAC) mechanism to ensure that only authorized users can access and submit MR–OPV campaign data.
11.1 Roles Definition
| Role Name | Description |
|---|---|
| Vaccinator | Routine vaccinator responsible for entering campaign and routine vaccination data |
| MR–OPV Vaccinator | Dedicated vaccinator role restricted to MR–OPV campaign activities only |
11.2 Permissions Mapping
| Role | Permission Code | Permission Description |
|---|---|---|
| Vaccinator | ADD_MROPV_CAMPAIGN | Allows routine vaccinators to add and submit MR–OPV campaign data |
| MR–OPV Vaccinator | ONLY_MROPV_CAMPAIGN | Allows access exclusively to MR–OPV campaign module |
11.3 Access Control Rules
-
Users with the Vaccinator role and
ADD_MROPV_CAMPAIGNpermission can:- View MR–OPV module
- Add and submit MR–OPV session data
- Access other routine vaccination modules as permitted
-
Users with the MR–OPV Vaccinator role and
ONLY_MROPV_CAMPAIGNpermission can:- Access only the MR–OPV module
- Submit MR–OPV campaign data
- Not access other vaccination modules
12. Risks & Mitigations
| Risk | Mitigation |
|---|---|
| Incorrect coverage entry | Field validation & supervision |
| GPS unavailable | User prompt & retry |
| Duplicate submissions | Backend checks |